package com.oa.service.impl;

import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.oa.dao.PageDao;
import com.oa.service.PageService;
import com.oa.util.PageBean;
@Service("pageService")
@Transactional
public class PageServiceImpl implements PageService {
	@Resource(name="pageDao")
	private PageDao pageDao;
	public PageBean pageBean;
	
	public PageDao getPageDao() {
		return pageDao;
	}

	public void setPageDao(PageDao pageDao) {
		this.pageDao = pageDao;
	}

	public PageBean getPageBean() {
		return pageBean;
	}

	public void setPageBean(PageBean pageBean) {
		this.pageBean = pageBean;
	}

	public PageBean queryForPage(int pageSize, int page,String obj) {
		final String hql = "from Mark m where m.user= "+obj;
		int allRow = pageDao.countAllRowCount(hql);// 总记录数
		int totalPage =PageBean.countTatalPage(pageSize, allRow);// 总页数
		// 把分页信息保存到Bean当中
		final int offset = PageBean.countOffset(pageSize, page);// 当前页开始记录
		final int length = pageSize;// 每页记录数
		final int currentPage = PageBean.countCurrentPage(page);// 当前页
		List list = pageDao.queryForpage(hql, offset, length);
		PageBean pageBean = new PageBean();
		pageBean.setAllRow(allRow);
		pageBean.setCurrentPage(currentPage);
		pageBean.setTotalPage(totalPage);
		pageBean.setPageSize(pageSize);
		pageBean.setList(list);
		pageBean.init();
		return pageBean;
	}

}
